
if __name__ == '__main__':
    import re

    text = """
    张三 <zhangsan@example.com> 发了一封邮件给
    李四 <lisi@company.co.uk> 和王五 <wang5@sub.domain.org>。
    """

    # 1) 预编译正则
    email_re = re.compile(r'[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+')

    # 2) 用 finditer 循环处理每一个匹配
    for m in email_re.finditer(text):
        s, e = m.start(), m.end()  # 也可以用 m.span() 直接拿到 (s, e)
        email = m.group()

        print(f"原位置: {s}-{e}  邮箱: {email}")

        # 3) 演示高亮（把邮箱包进 <mark>...</mark>）
        #text = text[:s] + f'<mark>{email}</mark>' + text[e:]

    #print("\n替换后的文本:")
    #print(text)